#include "LinearMath/btList.h"
#ifdef __cplusplus
extern "C" {
#endif
btGEN_List* bullet_NewbtGEN_List(){
	btGEN_List* wrap_out = new btGEN_List();
	return wrap_out;
}

void bullet_btGEN_List_addHead(btGEN_List* c_this,btGEN_Link* link){
	btGEN_Link * c_arg_link=(btGEN_Link *)(void*)(link);
	c_this->addHead(c_arg_link);
}

void bullet_btGEN_List_addTail(btGEN_List* c_this,btGEN_Link* link){
	btGEN_Link * c_arg_link=(btGEN_Link *)(void*)(link);
	c_this->addTail(c_arg_link);
}

btGEN_Link* bullet_btGEN_List_getHead(btGEN_List* c_this){
	btGEN_Link * c_out = c_this->getHead();
	btGEN_Link* wrap_out = (btGEN_Link*)(void*)(c_out);
	return wrap_out;
}

btGEN_Link* bullet_btGEN_List_getTail(btGEN_List* c_this){
	btGEN_Link * c_out = c_this->getTail();
	btGEN_Link* wrap_out = (btGEN_Link*)(void*)(c_out);
	return wrap_out;
}

btGEN_Link* bullet_NewbtGEN_Link(){
	btGEN_Link* wrap_out = new btGEN_Link();
	return wrap_out;
}

btGEN_Link* bullet_NewbtGEN_Link1(btGEN_Link* next,btGEN_Link* prev){
	btGEN_Link * c_arg_next=(btGEN_Link *)(void*)(next);
	btGEN_Link * c_arg_prev=(btGEN_Link *)(void*)(prev);
	btGEN_Link* wrap_out = new btGEN_Link(c_arg_next,c_arg_prev);
	return wrap_out;
}

btGEN_Link* bullet_btGEN_Link_getNext(btGEN_Link* c_this){
	btGEN_Link * c_out = c_this->getNext();
	btGEN_Link* wrap_out = (btGEN_Link*)(void*)(c_out);
	return wrap_out;
}

btGEN_Link* bullet_btGEN_Link_getPrev(btGEN_Link* c_this){
	btGEN_Link * c_out = c_this->getPrev();
	btGEN_Link* wrap_out = (btGEN_Link*)(void*)(c_out);
	return wrap_out;
}

void bullet_btGEN_Link_insertAfter(btGEN_Link* c_this,btGEN_Link* link){
	btGEN_Link * c_arg_link=(btGEN_Link *)(void*)(link);
	c_this->insertAfter(c_arg_link);
}

void bullet_btGEN_Link_insertBefore(btGEN_Link* c_this,btGEN_Link* link){
	btGEN_Link * c_arg_link=(btGEN_Link *)(void*)(link);
	c_this->insertBefore(c_arg_link);
}

bool bullet_btGEN_Link_isHead(btGEN_Link* c_this){
	bool c_out = c_this->isHead();
	bool wrap_out = (c_out);
	return wrap_out;
}

bool bullet_btGEN_Link_isTail(btGEN_Link* c_this){
	bool c_out = c_this->isTail();
	bool wrap_out = (c_out);
	return wrap_out;
}

void bullet_btGEN_Link_remove(btGEN_Link* c_this){
	c_this->remove();
}

#ifdef __cplusplus
}
#endif
